// vite.config.ts
import { loadEnv } from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+vite@3.2.5_66ukksnfqxd4fexcxrnpdwftda/node_modules/vite/dist/node/index.js";
import vue from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+@vitejs+plugin-vue@3.2.0_vite@3.2.5+vue@3.2.41/node_modules/@vitejs/plugin-vue/dist/index.mjs";
import path from "path";
import { createSvgIconsPlugin } from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-svg-icons@2.0.1_vite@3.2.5/node_modules/vite-plugin-svg-icons/dist/index.mjs";
import vueJsx from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+@vitejs+plugin-vue-jsx@2.1.0_vite@3.2.5+vue@3.2.41/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs";
import {
  createStyleImportPlugin,
  ElementPlusResolve
} from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-style-import@2.0.0_vite@3.2.5/node_modules/vite-plugin-style-import/dist/index.mjs";
import AutoImport from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+unplugin-auto-import@0.11.4_@vueuse+core@9.4.0/node_modules/unplugin-auto-import/dist/vite.js";
import Components from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+unplugin-vue-components@0.22.9_vue@3.2.41/node_modules/unplugin-vue-components/dist/vite.mjs";
import { ElementPlusResolver } from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+unplugin-vue-components@0.22.9_vue@3.2.41/node_modules/unplugin-vue-components/dist/resolvers.mjs";
import eslintPlugin from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-eslint@1.8.1_eslint@8.27.0+vite@3.2.5/node_modules/vite-plugin-eslint/dist/index.mjs";
import { visualizer } from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+rollup-plugin-visualizer@5.9.0/node_modules/rollup-plugin-visualizer/dist/plugin/index.js";
import Inspect from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-inspect@0.7.8_vite@3.2.5/node_modules/vite-plugin-inspect/dist/index.mjs";
import { viteMockServe } from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-mock@2.9.6_mockjs@1.1.0+vite@3.2.5/node_modules/vite-plugin-mock/dist/index.js";
import { viteVConsole } from "file:///E:/workspace/front/test/split-chunk-test-01/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-vconsole@1.2.2/node_modules/vite-plugin-vconsole/dist/index.js";
var __vite_injected_original_dirname = "E:\\workspace\\front\\test\\split-chunk-test-01";
function _resolve(dir) {
  return path.resolve(__vite_injected_original_dirname, dir);
}
function envStrValIsTrue(val) {
  return val === "true";
}
var vite_config_default = ({ command, mode }) => {
  const root = process.cwd();
  const env = loadEnv(mode, root);
  console.log(
    "\u6267\u884C\u547D\u4EE4: ",
    command,
    ", mode:",
    mode,
    ", env\u914D\u7F6E\u6587\u4EF6\u6570\u636E: ",
    env
  );
  const otherPlugins = [];
  if (envStrValIsTrue(env.VITE_PACKAGE_ANALYZER)) {
    otherPlugins.push(
      visualizer({
        filename: "./node_modules/.cache/visualizer/stats.html",
        open: true,
        gzipSize: true,
        brotliSize: true
      })
    );
  }
  if (envStrValIsTrue(env.VITE_ENABLE_VCONSOLE)) {
    otherPlugins.push(
      viteVConsole({
        entry: path.resolve("src/main.ts"),
        localEnabled: true,
        enabled: true,
        config: {
          maxLogNumber: 1e3,
          theme: "dark"
        }
      })
    );
  }
  if (command === "serve" || mode === "development") {
    otherPlugins.push(Inspect());
    otherPlugins.push(
      viteMockServe({
        mockPath: "mock",
        localEnabled: true
      })
    );
  } else {
  }
  const resultConfig = {
    plugins: [
      vue(),
      vueJsx(),
      createSvgIconsPlugin({
        iconDirs: [path.resolve(process.cwd(), "src/assets/svg")],
        symbolId: "icon-[dir]-[name]"
      }),
      eslintPlugin({
        include: [
          "src/**/*.ts",
          "src/**/*.vue",
          "src/*.ts",
          "src/*.vue",
          "src/*.js",
          "src/**/*.jsx",
          "src/**/*.txs",
          "src/*.jsx",
          "src/*.tsx"
        ],
        cache: false
      }),
      createStyleImportPlugin({
        resolves: [ElementPlusResolve()],
        libs: [
          {
            libraryName: "element-plus",
            esModule: true,
            resolveStyle: (name) => {
              return `element-plus/theme-chalk/${name}.css`;
            }
          }
        ]
      }),
      AutoImport({
        resolvers: [ElementPlusResolver()],
        dts: "./src/auto-imports.d.ts",
        eslintrc: {
          enabled: true,
          filepath: "./.eslintrc-auto-import.json",
          globalsPropValue: true
        }
      }),
      Components({
        resolvers: [ElementPlusResolver()],
        dts: "./src/components.d.ts"
      }),
      ...otherPlugins
    ],
    base: env.VITE_PUBLIC_BASEPATH,
    server: {
      host: "0.0.0.0",
      port: 4200,
      open: true
    },
    resolve: {
      alias: {
        "@": _resolve("src")
      }
    },
    build: {
      minify: false,
      rollupOptions: {}
    }
  };
  return resultConfig;
};
export {
  vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFx3b3Jrc3BhY2VcXFxcZnJvbnRcXFxcdGVzdFxcXFxzcGxpdC1jaHVuay10ZXN0LTAxXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJFOlxcXFx3b3Jrc3BhY2VcXFxcZnJvbnRcXFxcdGVzdFxcXFxzcGxpdC1jaHVuay10ZXN0LTAxXFxcXHZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9FOi93b3Jrc3BhY2UvZnJvbnQvdGVzdC9zcGxpdC1jaHVuay10ZXN0LTAxL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgQ29uZmlnRW52LCBsb2FkRW52LCBQbHVnaW5PcHRpb24sIFVzZXJDb25maWdFeHBvcnQgfSBmcm9tICd2aXRlJ1xyXG5pbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZSdcclxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcclxuaW1wb3J0IHsgY3JlYXRlU3ZnSWNvbnNQbHVnaW4gfSBmcm9tICd2aXRlLXBsdWdpbi1zdmctaWNvbnMnXHJcbmltcG9ydCB2dWVKc3ggZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlLWpzeCdcclxuaW1wb3J0IHtcclxuICBjcmVhdGVTdHlsZUltcG9ydFBsdWdpbixcclxuICBFbGVtZW50UGx1c1Jlc29sdmUsXHJcbn0gZnJvbSAndml0ZS1wbHVnaW4tc3R5bGUtaW1wb3J0J1xyXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tICd1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlJ1xyXG5pbXBvcnQgQ29tcG9uZW50cyBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy92aXRlJ1xyXG5pbXBvcnQgeyBFbGVtZW50UGx1c1Jlc29sdmVyIH0gZnJvbSAndW5wbHVnaW4tdnVlLWNvbXBvbmVudHMvcmVzb2x2ZXJzJ1xyXG5pbXBvcnQgZXNsaW50UGx1Z2luIGZyb20gJ3ZpdGUtcGx1Z2luLWVzbGludCdcclxuaW1wb3J0IHsgdmlzdWFsaXplciB9IGZyb20gJ3JvbGx1cC1wbHVnaW4tdmlzdWFsaXplcidcclxuaW1wb3J0IEluc3BlY3QgZnJvbSAndml0ZS1wbHVnaW4taW5zcGVjdCdcclxuaW1wb3J0IHsgdml0ZU1vY2tTZXJ2ZSB9IGZyb20gJ3ZpdGUtcGx1Z2luLW1vY2snXHJcbmltcG9ydCByZW1vdmVDb25zb2xlIGZyb20gJ3ZpdGUtcGx1Z2luLXJlbW92ZS1jb25zb2xlJ1xyXG5pbXBvcnQgbGVnYWN5IGZyb20gJ0B2aXRlanMvcGx1Z2luLWxlZ2FjeSdcclxuaW1wb3J0IHsgdml0ZVZDb25zb2xlIH0gZnJvbSAndml0ZS1wbHVnaW4tdmNvbnNvbGUnXHJcbmltcG9ydCB2aXRlQ29tcHJlc3Npb24gZnJvbSAndml0ZS1wbHVnaW4tY29tcHJlc3Npb24nXHJcbmltcG9ydCB7IGNodW5rU3BsaXRQbHVnaW4gfSBmcm9tICd2aXRlLXBsdWdpbi1jaHVuay1zcGxpdCdcclxuLy8gQHRzLWlnbm9yZVxyXG5pbXBvcnQgcGFja2FnZUluZm8gZnJvbSAnLi9wYWNrYWdlLmpzb24nXHJcblxyXG5mdW5jdGlvbiBfcmVzb2x2ZShkaXI6IHN0cmluZykge1xyXG4gIHJldHVybiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCBkaXIpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiB2YWxcdTUwM0NcdTY2MkZcdTU0MjZcdTRFM0FcdTVCNTdcdTdCMjZcdTRFMzIndHJ1ZSdcclxuICpcclxuICogQHBhcmFtICAge3N0cmluZ30gIHZhbCAgW3ZhbCBkZXNjcmlwdGlvbl1cclxuICpcclxuICogQHJldHVybiAge1t0eXBlXX0gICAgICAgW3JldHVybiBkZXNjcmlwdGlvbl1cclxuICovXHJcbmZ1bmN0aW9uIGVudlN0clZhbElzVHJ1ZSh2YWw6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwpIHtcclxuICByZXR1cm4gdmFsID09PSAndHJ1ZSdcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgKHsgY29tbWFuZCwgbW9kZSB9OiBDb25maWdFbnYpOiBVc2VyQ29uZmlnRXhwb3J0ID0+IHtcclxuICBjb25zdCByb290ID0gcHJvY2Vzcy5jd2QoKVxyXG4gIC8vIFx1OEJGQlx1NTNENi5lbnZcdTRFMkRcdTkxNERcdTdGNkVcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0ZcclxuICBjb25zdCBlbnYgPSBsb2FkRW52KG1vZGUsIHJvb3QpXHJcbiAgY29uc29sZS5sb2coXHJcbiAgICAnXHU2MjY3XHU4ODRDXHU1NDdEXHU0RUU0OiAnLFxyXG4gICAgY29tbWFuZCxcclxuICAgICcsIG1vZGU6JyxcclxuICAgIG1vZGUsXHJcbiAgICAnLCBlbnZcdTkxNERcdTdGNkVcdTY1ODdcdTRFRjZcdTY1NzBcdTYzNkU6ICcsXHJcbiAgICBlbnZcclxuICApXHJcblxyXG4gIC8vIFx1NTE3Nlx1NEVENlx1NTNFRlx1OTAwOVx1NjNEMlx1NEVGNlxyXG4gIGNvbnN0IG90aGVyUGx1Z2luczogKFBsdWdpbk9wdGlvbiB8IFBsdWdpbk9wdGlvbltdKVtdID0gW11cclxuICAvLyBcdTY2MkZcdTU0MjZcdThGREJcdTg4NENcdTUzMDVcdTUyMDZcdTY3OTBcclxuICBpZiAoZW52U3RyVmFsSXNUcnVlKGVudi5WSVRFX1BBQ0tBR0VfQU5BTFlaRVIpKSB7XHJcbiAgICAvLyBcdTU0MkZcdTc1MjhcdTUzMDVcdTUyMDZcdTY3OTBcclxuICAgIG90aGVyUGx1Z2lucy5wdXNoKFxyXG4gICAgICB2aXN1YWxpemVyKHtcclxuICAgICAgICBmaWxlbmFtZTogJy4vbm9kZV9tb2R1bGVzLy5jYWNoZS92aXN1YWxpemVyL3N0YXRzLmh0bWwnLFxyXG4gICAgICAgIG9wZW46IHRydWUsXHJcbiAgICAgICAgZ3ppcFNpemU6IHRydWUsXHJcbiAgICAgICAgYnJvdGxpU2l6ZTogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcbiAgLy8gXHU2NjJGXHU1NDI2XHU1NDJGXHU3NTI4VkNvbnNvbGVcdTYzRDJcdTRFRjZcclxuICBpZiAoZW52U3RyVmFsSXNUcnVlKGVudi5WSVRFX0VOQUJMRV9WQ09OU09MRSkpIHtcclxuICAgIG90aGVyUGx1Z2lucy5wdXNoKFxyXG4gICAgICB2aXRlVkNvbnNvbGUoe1xyXG4gICAgICAgIGVudHJ5OiBwYXRoLnJlc29sdmUoJ3NyYy9tYWluLnRzJyksIC8vIFx1NjIxNlx1ODAwNVx1NTNFRlx1NEVFNVx1NEY3Rlx1NzUyOFx1OEZEOVx1NEUyQVx1OTE0RFx1N0Y2RTogW3BhdGgucmVzb2x2ZSgnc3JjL21haW4udHMnKV1cclxuICAgICAgICBsb2NhbEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgIG1heExvZ051bWJlcjogMTAwMCxcclxuICAgICAgICAgIHRoZW1lOiAnZGFyaycsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcbiAgaWYgKGNvbW1hbmQgPT09ICdzZXJ2ZScgfHwgbW9kZSA9PT0gJ2RldmVsb3BtZW50Jykge1xyXG4gICAgb3RoZXJQbHVnaW5zLnB1c2goSW5zcGVjdCgpKVxyXG4gICAgb3RoZXJQbHVnaW5zLnB1c2goXHJcbiAgICAgIHZpdGVNb2NrU2VydmUoe1xyXG4gICAgICAgIC8vIGRlZmF1bHRcclxuICAgICAgICBtb2NrUGF0aDogJ21vY2snLFxyXG4gICAgICAgIGxvY2FsRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgIClcclxuICB9IGVsc2Uge1xyXG4gICAgLy8gaWYgKGVudlN0clZhbElzVHJ1ZShlbnYuVklURV9SRU1PVkVfQ09OU09MRSkpIHtcclxuICAgIC8vICAgb3RoZXJQbHVnaW5zLnB1c2gocmVtb3ZlQ29uc29sZSgpKVxyXG4gICAgLy8gfVxyXG4gICAgLy8gb3RoZXJQbHVnaW5zLnB1c2goXHJcbiAgICAvLyAgIC8qXHJcbiAgICAvLyAgIFx1OEJFNVx1NjNEMlx1NEVGNlx1NzUyOFx1NEU4RVx1NjcwMFx1N0VDOFx1NzY4NFx1NjI1M1x1NTMwNVx1NjU4N1x1NEVGNlx1OEZEQlx1ODg0Q1x1NTIwNlx1NTMwNVxyXG4gICAgLy8gICBcdTU5ODJcdThGRDlcdTRFMkFcdTkxNERcdTdGNkU6ICd2dWUtYmFzZS12ZW5kb3InOiBbJ2F4aW9zJywgJ3BpbmlhJywgJ3Z1ZScsICd2dWUtcm91dGVyJ10sXHJcbiAgICAvLyAgIFx1NjYyRlx1NUMwNidheGlvcycsICdwaW5pYScsICd2dWUnLCAndnVlLXJvdXRlcidcdThGRDk0XHU0RTJBXHU1MzA1XHU2MjUzXHU1MzA1XHU2MjEwXHU1NDBEXHU0RTNBdnVlLWJhc2UtdmVuZG9yXHU3Njg0XHU1MzA1XHUzMDAyXHJcbiAgICAvLyAgIFx1NTk4Mlx1NEY1NVx1OEZEQlx1ODg0Q1x1NTIwNlx1NTMwNVx1RkYxQVxyXG4gICAgLy8gICAxLiBcdTU5MjdcdTY1ODdcdTRFRjZcdTg5ODFcdTUyMDZcdTUzMDVcclxuICAgIC8vICAgMi4gXHU1N0ZBXHU2NzJDXHU0RTBEXHU1M0Q4XHU3Njg0XHU1MTg1XHU1QkI5XHU4OTgxXHU1MjA2XHU1MzA1XHJcbiAgICAvLyAgIDMuIFx1NTIwNlx1NTMwNVx1ODk4MVx1OTAwMlx1NUVBNlx1RkYwQ1x1NEU1Rlx1NEUwRFx1ODk4MVx1NjJDNlx1NTIwNlx1NTkyQVx1NTkxQVx1NzY4NFx1NTMwNVxyXG4gICAgLy8gICBcdTkwMUFcdTVFMzhcdTRGMUFcdTVCRjlcdTU0RUFcdTRFOUJcdTRFMUNcdTg5N0ZcdTYyQzZcdTUzMDVcdUZGMUZcclxuICAgIC8vICAgMS4gdmVuZG9yLmpzIHZpdGVcdTlFRDhcdThCQTRcdTRGMUFcdTVDMDZub2RlX21vZHVsZXNcdTRFMEJcdTc2ODRcdTYyNDBcdTY3MDlcdTRGOURcdThENTZcdTYyNTNcdTUzMDVcdTYyMTBcdTRFMDBcdTRFMkF2ZW5kb3IuanNcdTY1ODdcdTRFRjZcdUZGMENcdThGRDlcdTRFMkFcdTY1ODdcdTRFRjZcdTkwMUFcdTVFMzhcdTRGMUFcdTVGODhcdTU5MjdcdUZGMENcdTU2RTBcdTZCNjRcdTk3MDBcdTg5ODFcdTYyQzZcdTUzMDVcclxuICAgIC8vICAgLy8gaW1wb3J0YW50OiBcdTU5ODJcdTY3OUNwYWNrYWdlLmpzb25cdTRFMkRcdTZDQTFcdTY3MDlcdTc2ODRcdTUzMDVcdTRFMERcdTg5ODFcdTkxNERcdTdGNkVcdTU3MjhcdThGRDlcdTRFMkFcdTdFQzRcdTRFRjZcdTkxQ0NcdTk3NjJcdUZGMENcdTU0MjZcdTUyMTlcdTRGMUFcdTYyQTVcdTk1MTk6IFR5cGVFcnJvcjogQ2Fubm90IGRlc3RydWN0dXJlIHByb3BlcnR5ICdkaXInIG9mICdvYmplY3QgbnVsbCcgYXMgaXQgaXMgbnVsbFxyXG4gICAgLy8gICAgKi9cclxuICAgIC8vICAgY2h1bmtTcGxpdFBsdWdpbih7XHJcbiAgICAvLyAgICAgc3RyYXRlZ3k6ICdkZWZhdWx0JyxcclxuICAgIC8vICAgICBjdXN0b21TcGxpdHRpbmc6IHtcclxuICAgIC8vICAgICAgICd2dWUtYmFzZS12ZW5kb3InOiBbJ2F4aW9zJywgJ3BpbmlhJywgJ3Z1ZScsICd2dWUtcm91dGVyJ10sXHJcbiAgICAvLyAgICAgICAnd2ViLXZlbmRvcic6IFsnQHZ1ZXVzZS9jb3JlJywgJ2pzLWNvb2tpZScsICd2dWUtcmVxdWVzdCcsICdkYXlqcyddLFxyXG4gICAgLy8gICAgICAgJ3VpLWZyYW1ld29yayc6IFtcclxuICAgIC8vICAgICAgICAgJ3Z4ZS10YWJsZScsXHJcbiAgICAvLyAgICAgICAgICd4ZS11dGlscycsXHJcbiAgICAvLyAgICAgICAgICdlbGVtZW50LXBsdXMnLFxyXG4gICAgLy8gICAgICAgICAnQGVsZW1lbnQtcGx1cy9pY29ucy12dWUnLFxyXG4gICAgLy8gICAgICAgXSxcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICB9KVxyXG4gICAgLy8gKVxyXG4gICAgLy8gb3RoZXJQbHVnaW5zLnB1c2goXHJcbiAgICAvLyAgIC8qXHJcbiAgICAvLyAgIFx1OEJFNVx1NjNEMlx1NEVGNlx1NzUyOFx1NEU4RVx1NTcyOFx1NTM5Rlx1NjI1M1x1NTMwNVx1N0VEM1x1Njc5Q1x1NjU4N1x1NEVGNlx1NTdGQVx1Nzg0MFx1NEUwQVx1NTE4RFx1NUJGOVx1NTM5Rlx1NTlDQlx1NjU4N1x1NEVGNlx1OEZEQlx1ODg0Q2d6XHU1MzhCXHU3RjI5XHVGRjBDXHU1RTc2XHU1RjYyXHU2MjEwXHU5ODlEXHU1OTE2XHU3Njg0Z3pcdTY1ODdcdTRFRjZcdTMwMDJcclxuICAgIC8vICAgbmdpbnhcdTRFNUZcdTY3MDlnemlwXHU1MjlGXHU4MEZEXHVGRjBDXHU0RTNBXHU0RUMwXHU0RTQ4XHU1MjREXHU3QUVGXHU4RkQ4XHU4OTgxXHU2MjUzXHU1MzA1XHU2MjEwZ3pcdTY1ODdcdTRFRjY/XHJcbiAgICAvLyAgIG5naW54XHU2NjJGXHU1MkE4XHU2MDAxXHU3NTFGXHU2MjEwZ3pcdTY1ODdcdTRFRjZcdUZGMENcdTUyNERcdTdBRUZcdTYyNTNcdTUzMDVcdTY2MkZcdTk3NTlcdTYwMDFcdTc1MUZcdTYyMTBnelx1NjU4N1x1NEVGNlx1RkYwQ1x1Njc4MVx1N0FFRlx1NjBDNVx1NTFCNVx1RkYwQ1x1ODBGRFx1ODI4Mlx1NzcwMVx1NjcwRFx1NTJBMVx1NTY2OFx1NzY4NFx1OEJBMVx1N0I5N1x1OEQ0NFx1NkU5MFxyXG4gICAgLy8gICAgKi9cclxuICAgIC8vICAgdml0ZUNvbXByZXNzaW9uKHtcclxuICAgIC8vICAgICAvLyBcdTY2MkZcdTU0MjZcdTU3MjhcdTYzQTdcdTUyMzZcdTUzRjBcdThGOTNcdTUxRkFcdTUzOEJcdTdGMjlcdTdFRDNcdTY3OUNcclxuICAgIC8vICAgICB2ZXJib3NlOiB0cnVlLFxyXG4gICAgLy8gICAgIC8vIFx1NTk4Mlx1Njc5Q1x1NEUwRFx1NjBGM1x1NTM4Qlx1N0YyOVx1NjdEMFx1NEUyQVx1NjU4N1x1NEVGNlx1RkYxQVx1NTIxOVx1NTQyRlx1NzUyOFx1NEUwQlx1OTc2Mlx1OEZEOVx1NEUyQVx1NjVCOVx1NkNENVx1RkYwQ1x1OTAxQVx1OEZDN2ZpbGVcdTUyMjRcdTY1QURcdTY1ODdcdTRFRjZcdTU0MERcdUZGMENcdThGRDRcdTU2REV0cnVlXHU1NDhDZmFsc2VcdTYzQTdcdTUyMzZcdTY2MkZcdTU0MjZcdTUzOEJcdTdGMjlcclxuICAgIC8vICAgICAvLyBmaWx0ZXI6KGZpbGU6c3RyaW5nKT0+dHJ1ZVxyXG4gICAgLy8gICAgIC8vIFx1NTkyN1x1NEU4RTUwa2JcdTYyNERcdTUzOEJcdTdGMjlcclxuICAgIC8vICAgICB0aHJlc2hvbGQ6IDUxMjAwLFxyXG4gICAgLy8gICB9KVxyXG4gICAgLy8gKVxyXG4gICAgLy8gXHU4OUUzXHU1MUIzdnVlM1x1NUJGOVx1NEY0RVx1NzI0OFx1NjcyQ1x1NkQ0Rlx1ODlDOFx1NTY2OFx1NzY4NFx1NTE3Q1x1NUJCOVx1NjAyN1xyXG4gICAgLy8gb3RoZXJQbHVnaW5zLnB1c2goXHJcbiAgICAvLyAgIGxlZ2FjeSh7XHJcbiAgICAvLyAgICAgdGFyZ2V0czogcGFja2FnZUluZm8uYnJvd3NlcnNsaXN0LCAvL1x1OTcwMFx1ODk4MVx1NTE3Q1x1NUJCOVx1NzY4NFx1NkQ0Rlx1ODlDOFx1NTY2OFx1NEVFNVx1NTNDQVx1NUJGOVx1NUU5NFx1NzI0OFx1NjcyQ1x1RkYwQ1x1N0VERlx1NEUwMFx1OTE0RFx1N0Y2RVx1NTcyOFx1NEU4NnBhY2thZ2UuanNvblx1NzY4NGJyb3dzZXJzbGlzdFxyXG4gICAgLy8gICAgIGFkZGl0aW9uYWxMZWdhY3lQb2x5ZmlsbHM6IFsncmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lJ10sXHJcbiAgICAvLyAgIH0pXHJcbiAgICAvLyApXHJcbiAgfVxyXG4gIGNvbnN0IHJlc3VsdENvbmZpZzogVXNlckNvbmZpZ0V4cG9ydCA9IHtcclxuICAgIHBsdWdpbnM6IFtcclxuICAgICAgdnVlKCksXHJcbiAgICAgIHZ1ZUpzeCgpLFxyXG4gICAgICBjcmVhdGVTdmdJY29uc1BsdWdpbih7XHJcbiAgICAgICAgLy8gXHU2MzA3XHU1QjlBXHU5NzAwXHU4OTgxXHU3RjEzXHU1QjU4XHU3Njg0XHU1NkZFXHU2ODA3XHU2NTg3XHU0RUY2XHU1OTM5XHJcbiAgICAgICAgaWNvbkRpcnM6IFtwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJ3NyYy9hc3NldHMvc3ZnJyldLFxyXG4gICAgICAgIC8vIFx1NjMwN1x1NUI5QXN5bWJvbElkXHU2ODNDXHU1RjBGXHJcbiAgICAgICAgc3ltYm9sSWQ6ICdpY29uLVtkaXJdLVtuYW1lXScsXHJcbiAgICAgIH0pLFxyXG4gICAgICBlc2xpbnRQbHVnaW4oe1xyXG4gICAgICAgIGluY2x1ZGU6IFtcclxuICAgICAgICAgICdzcmMvKiovKi50cycsXHJcbiAgICAgICAgICAnc3JjLyoqLyoudnVlJyxcclxuICAgICAgICAgICdzcmMvKi50cycsXHJcbiAgICAgICAgICAnc3JjLyoudnVlJyxcclxuICAgICAgICAgICdzcmMvKi5qcycsXHJcbiAgICAgICAgICAnc3JjLyoqLyouanN4JyxcclxuICAgICAgICAgICdzcmMvKiovKi50eHMnLFxyXG4gICAgICAgICAgJ3NyYy8qLmpzeCcsXHJcbiAgICAgICAgICAnc3JjLyoudHN4JyxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGNhY2hlOiBmYWxzZSxcclxuICAgICAgfSksXHJcbiAgICAgIC8vIFx1ODlFM1x1NTFCM1x1N0M3Qk1lc3NhZ2VcdTdFQzRcdTRFRjZcdTY4MzdcdTVGMEZcdTY1RTBcdTZDRDVcdTgxRUFcdTUyQThcdTVGMTVcdTUxNjVcdTk1RUVcdTk4OThcclxuICAgICAgY3JlYXRlU3R5bGVJbXBvcnRQbHVnaW4oe1xyXG4gICAgICAgIHJlc29sdmVzOiBbRWxlbWVudFBsdXNSZXNvbHZlKCldLFxyXG4gICAgICAgIGxpYnM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgbGlicmFyeU5hbWU6ICdlbGVtZW50LXBsdXMnLFxyXG4gICAgICAgICAgICBlc01vZHVsZTogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzb2x2ZVN0eWxlOiAobmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGBlbGVtZW50LXBsdXMvdGhlbWUtY2hhbGsvJHtuYW1lfS5jc3NgXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0pLFxyXG4gICAgICBBdXRvSW1wb3J0KHtcclxuICAgICAgICByZXNvbHZlcnM6IFtFbGVtZW50UGx1c1Jlc29sdmVyKCldLFxyXG4gICAgICAgIGR0czogJy4vc3JjL2F1dG8taW1wb3J0cy5kLnRzJyxcclxuICAgICAgICBlc2xpbnRyYzoge1xyXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSwgLy8gRGVmYXVsdCBgZmFsc2VgXHJcbiAgICAgICAgICBmaWxlcGF0aDogJy4vLmVzbGludHJjLWF1dG8taW1wb3J0Lmpzb24nLCAvLyBEZWZhdWx0IGAuLy5lc2xpbnRyYy1hdXRvLWltcG9ydC5qc29uYFxyXG4gICAgICAgICAgZ2xvYmFsc1Byb3BWYWx1ZTogdHJ1ZSwgLy8gRGVmYXVsdCBgdHJ1ZWAsICh0cnVlIHwgZmFsc2UgfCAncmVhZG9ubHknIHwgJ3JlYWRhYmxlJyB8ICd3cml0YWJsZScgfCAnd3JpdGVhYmxlJylcclxuICAgICAgICB9LFxyXG4gICAgICB9KSxcclxuICAgICAgQ29tcG9uZW50cyh7XHJcbiAgICAgICAgcmVzb2x2ZXJzOiBbRWxlbWVudFBsdXNSZXNvbHZlcigpXSxcclxuICAgICAgICBkdHM6ICcuL3NyYy9jb21wb25lbnRzLmQudHMnLFxyXG4gICAgICB9KSxcclxuICAgICAgLi4ub3RoZXJQbHVnaW5zLFxyXG4gICAgXSxcclxuICAgIC8vIFx1OUVEOFx1OEJBNFx1NEUzQS8sIFx1NzUyOFx1NEU4RVx1NTNEMVx1NUUwM1x1NTcyOFx1OTc1RVx1NjgzOVx1NzZFRVx1NUY1NVx1NzY4NFx1NjVGNlx1NTAxOVx1OTcwMFx1ODk4MVx1OEJCRVx1N0Y2RVx1OEJFNVx1NTAzQ1xyXG4gICAgYmFzZTogZW52LlZJVEVfUFVCTElDX0JBU0VQQVRILFxyXG4gICAgc2VydmVyOiB7XHJcbiAgICAgIGhvc3Q6ICcwLjAuMC4wJyxcclxuICAgICAgcG9ydDogNDIwMCxcclxuICAgICAgb3BlbjogdHJ1ZSxcclxuICAgICAgLy8gcHJveHk6IHtcclxuICAgICAgLy8gICAnL2FwaSc6IHtcclxuICAgICAgLy8gICAgIHRhcmdldDogZW52LlZJVEVfUFJPWFlfVEFSR0VULFxyXG4gICAgICAvLyAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxyXG4gICAgICAvLyAgICAgcmV3cml0ZTogcGF0aCA9PiBwYXRoLnJlcGxhY2UoL15cXC9hcGkvLCAnJyksXHJcbiAgICAgIC8vICAgfSxcclxuICAgICAgLy8gfSxcclxuICAgIH0sXHJcbiAgICByZXNvbHZlOiB7XHJcbiAgICAgIGFsaWFzOiB7XHJcbiAgICAgICAgJ0AnOiBfcmVzb2x2ZSgnc3JjJyksXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgYnVpbGQ6IHtcclxuICAgICAgbWluaWZ5OiBmYWxzZSxcclxuICAgICAgcm9sbHVwT3B0aW9uczoge1xyXG4gICAgICAgIC8vIG91dHB1dDoge1xyXG4gICAgICAgIC8vIFx1OEZEOVx1NzlDRFx1NUJGOVx1OEM2MVx1NUY2Mlx1NUYwRlx1NTNFQVx1OTAwMlx1NTQwOFx1NUJGOVx1N0IyQ1x1NEUwOVx1NjVCOVx1NTMwNVx1OEZEQlx1ODg0Q1x1NjJDNlx1NTIwNlxyXG4gICAgICAgIC8vIG1hbnVhbENodW5rczoge1xyXG4gICAgICAgIC8vICAgdWk6IFsnZWxlbWVudC1wbHVzJ10sXHJcbiAgICAgICAgLy8gICB2dWUzOiBbJ3Z1ZScsICd2dWUtcm91dGVyJ10sXHJcbiAgICAgICAgLy8gICAvLyBcdThGRDlcdTRFMkFcdTY1RTBcdTY1NDhcdUZGMENcdTUzRUZcdTgwRkRcdTY2MkZyb2xsdXBcdTY1RTBcdTZDRDVcdTYzMDlcdTcxNjdcdThGRDlcdTc5Q0RcdTY1QjlcdTVGMEZcdTUzMzlcdTkxNERcdTUyMzBcdTVCRjlcdTVFOTRtb2R1bGVcclxuICAgICAgICAvLyAgIFVzZVV0aWxzOiBbXHJcbiAgICAgICAgLy8gICAgICdzcmMvdXRpbHMvVXNlVXRpbHMwMS50cycsXHJcbiAgICAgICAgLy8gICAgICdzcmMvdXRpbHMvVXNlVXRpbHMwMi50cycsXHJcbiAgICAgICAgLy8gICAgICdzcmMvdXRpbHMvVXNlVXRpbHMwMy50cycsXHJcbiAgICAgICAgLy8gICAgICdzcmMvdXRpbHMvVXNlVXRpbHMwNC50cycsXHJcbiAgICAgICAgLy8gICBdLFxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgLy8gbWFudWFsQ2h1bmtzOiAoaWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIC8vICAgLy8gXHU0RTBCXHU5NzYyXHU4RkQ5XHU0RTlCXHU4MUVBXHU1QjlBXHU0RTQ5XHU3Njg0Y2h1bmtcdUZGMENcdTU5ODJcdTY3OUNjaHVua1x1NEUyRFx1NzY4NFx1NjI0MFx1NjcwOW1vZHVsZVx1NkNBMVx1NjcwOVx1NEUwMFx1NEUyQVx1NjYyRlx1NTcyOFx1OTk5Nlx1OTg3NVx1NEUyRFx1NEY3Rlx1NzUyOFx1NTIzMFx1NzY4NFx1RkYwQ1x1OTBBM1x1NEU0OFx1OEJFNW1vZHVsZVx1NUMzMVx1NEUwRFx1NEYxQVx1NTcyOFx1OTk5Nlx1OTg3NVx1ODhBQlx1NTJBMFx1OEY3RFx1RkYwQ1x1NTNDRFx1NEU0Qlx1NTIxOVx1OEJFNWNodW5rXHU0RjFBXHU1NzI4XHU5OTk2XHU5ODc1XHU4OEFCXHU1MkEwXHU4RjdEXHJcbiAgICAgICAgLy8gICBpZiAoIWlkLmluY2x1ZGVzKCdub2RlX21vZHVsZXMnKSkge1xyXG4gICAgICAgIC8vICAgICBpZiAoaWQuaW5jbHVkZXMoJ1VzZVV0aWxzJykpIHtcclxuICAgICAgICAvLyAgICAgICByZXR1cm4gJ1VzZVV0aWxzJ1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICAgIC8vIGVsc2UgaWYgKFxyXG4gICAgICAgIC8vICAgICAvLyAgIGlkLmluY2x1ZGVzKCdPdGhlclBhZ2UwMycpIHx8XHJcbiAgICAgICAgLy8gICAgIC8vICAgaWQuaW5jbHVkZXMoJ090aGVyUGFnZTA1JylcclxuICAgICAgICAvLyAgICAgLy8gKSB7XHJcbiAgICAgICAgLy8gICAgIC8vICAgLy8gXHU0RTBEXHU4OTgxXHU1QkY5XHU4REVGXHU3NTMxXHU3RUM0XHU0RUY2XHU4RkRCXHU4ODRDXHU1NDA4XHU1RTc2XHVGRjBDXHU4RkQ5XHU0RjFBXHU1QkZDXHU4MUY0XHU4REVGXHU3NTMxXHU3RUM0XHU0RUY2XHU1RkM1XHU5ODdCXHU1NzI4XHU5OTk2XHU5ODc1XHU1QzMxXHU1MkEwXHU4RjdEXHU4RkRCXHU2NzY1XHVGRjBDXHU4RkQ5XHU0RTBEXHU1NDA4XHU3NDA2XHVGRjBDXHU1NkUwXHU0RTNBXHU2MjExXHU0RUVDXHU1NzI4XHU5OTk2XHU5ODc1XHU1RTc2XHU0RTBEXHU0RjFBXHU4QkJGXHU5NUVFXHU4REVGXHU3NTMxXHU3RUM0XHU0RUY2XHJcbiAgICAgICAgLy8gICAgIC8vICAgcmV0dXJuICdTb21lUGFnZSdcclxuICAgICAgICAvLyAgICAgLy8gfVxyXG4gICAgICAgIC8vICAgICBpZiAoaWQuaW5jbHVkZXMoJ0hlbGxvV29ybGQnKSkge1xyXG4gICAgICAgIC8vICAgICAgIHJldHVybiAnU2luZ2xlSGVsbG9Xb3JsZFdvcmxkJ1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICB9IGVsc2Uge1xyXG4gICAgICAgIC8vICAgICAvKipcclxuICAgICAgICAvLyAgICAgICogXHU5NTE5XHU4QkVGXHU3OTNBXHU4MzAzXHVGRjFBXHJcbiAgICAgICAgLy8gICAgICAqIFx1NjI0MFx1NjcwOVx1NzY4NG5vZGVfbW9kdWxlc1x1OTBGRFx1NTQwOFx1NUU3Nlx1OEZEQlx1NEUwMFx1NEUyQWNodW5rXHUzMDAyXHU1NkUwXHU0RTNBdnVlXHU1NDhDdnVlLXJvdXRlclx1NjYyRlx1NTcyOG1haW4udHNcdTRFMkRcdTVDMzFcdTc1MjhcdTUyMzBcdTRFODZcdTc2ODRcdUZGMENcclxuICAgICAgICAvLyAgICAgICogXHU2MjQwXHU0RUU1XHU4QkU1Y2h1bmtcdTVGQzVcdTk4N0JcdTU3MjhcdTk5OTZcdTk4NzVcdTVDMzFcdTUyQTBcdThGN0RcdUZGMENcdTgwMENcdThCRTVjaHVua1x1OEZEOFx1NTMwNVx1NTQyQmVsZW1lbnQtcGx1c1x1NzY4NFx1NEUxQ1x1ODk3Rlx1RkYwQ1x1ODAwQ1x1OTk5Nlx1OTg3NVx1NUU3Nlx1NjcyQVx1NEY3Rlx1NzUyOGVsZW1lbnQtcGx1c1x1NzY4NFx1NEVGQlx1NEY1NVx1NEUxQ1x1ODk3Rlx1RkYwQ1xyXG4gICAgICAgIC8vICAgICAgKiBcdTU2RTBcdTZCNjRcdUZGMENcdTVDMzFcdTkwMjBcdTYyMTBcdTRFODZcdTk5OTZcdTk4NzVcdTUyQTBcdThGN0RcdTRFODZcdTRFMERcdTVGQzVcdTg5ODFcdTc2ODRcdThENDRcdTZFOTBcclxuICAgICAgICAvLyAgICAgICovXHJcbiAgICAgICAgLy8gICAgIC8vIHJldHVybiAndmVuZG9yJ1xyXG4gICAgICAgIC8vICAgICAvKipcclxuICAgICAgICAvLyAgICAgICogXHU2QjYzXHU3ODZFXHU1MDVBXHU2Q0Q1XHVGRjFBXHJcbiAgICAgICAgLy8gICAgICAqIFx1OTk5Nlx1OTg3NVx1NEUyRFx1NUMzMVx1NEY3Rlx1NzUyOFx1NTIzMFx1NzY4NFx1N0IyQ1x1NEUwOVx1NjVCOVx1NEY5RFx1OEQ1Nlx1RkYwQ1x1NTM1NVx1NzJFQ1x1NEUwMFx1NEUyQWNodW5rXHUzMDAyXHU1RjUzXHU1MjREXHU3OTNBXHU0RjhCXHU1QzMxXHU2NjJGXHVGRjFBYHZ1ZWBcdTU0OENgdnVlLXJvdXRlcmBcclxuICAgICAgICAvLyAgICAgICogXHU2MjQwXHU0RUU1XHU5OTk2XHU5ODc1XHU1M0VBXHU0RjFBXHU5ODlEXHU1OTE2XHU1MkEwXHU4RjdEdnVlM1x1NTQ4Q3ZlbmRvclx1OEZEOVx1NEUyQVx1NEUyNFx1NEUyQWNodW5rXHVGRjBDXHU4MDBDXHU0RTBEXHU0RjFBXHU1MkEwXHU4RjdEdWlcdThGRDlcdTRFMkFjaHVua1x1MzAwMlxyXG4gICAgICAgIC8vICAgICAgKiBcdTRFNEJcdTYyNDBcdTRFRTV2ZW5kb3JcdThGRDlcdTRFMkFjaHVua1x1NEYxQVx1NTcyOFx1OTk5Nlx1OTg3NVx1NTJBMFx1OEY3RFx1RkYwQ1x1NUU5NFx1OEJFNVx1NjYyRlx1NzUzMVx1NEU4RVx1OEJFNWNodW5rXHU0RTJEXHU2N0QwXHU0RTJBXHU2MjE2XHU2N0QwXHU0RTlCbW9kdWxlXHU2NjJGXHU5OTk2XHU5ODc1XHU0RTJEXHU0RjdGXHU3NTI4XHU1MjMwXHU0RTg2XHJcbiAgICAgICAgLy8gICAgICAqL1xyXG4gICAgICAgIC8vICAgICAvLyBpZiAoaWQuaW5jbHVkZXMoJ2VsZW1lbnQtcGx1cycpKSB7XHJcbiAgICAgICAgLy8gICAgIC8vICAgcmV0dXJuICd1aSdcclxuICAgICAgICAvLyAgICAgLy8gfSBlbHNlIGlmIChpZC5pbmNsdWRlcygndnVlJykgfHwgaWQuaW5jbHVkZXMoJ3Z1ZS1yb3V0ZXInKSkge1xyXG4gICAgICAgIC8vICAgICAvLyAgIHJldHVybiAndnVlMydcclxuICAgICAgICAvLyAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAvLyAgICAgLy8gICByZXR1cm4gJ3ZlbmRvcidcclxuICAgICAgICAvLyAgICAgLy8gfVxyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgLy8gLy8gLy8gXHU3NTI4XHU0RThFXHU0RUNFXHU1MTY1XHU1M0UzXHU3MEI5XHU1MjFCXHU1RUZBXHU3Njg0XHU1NzU3XHU3Njg0XHU2MjUzXHU1MzA1XHU4RjkzXHU1MUZBXHU2ODNDXHU1RjBGW25hbWVdXHU4ODY4XHU3OTNBXHU2NTg3XHU0RUY2XHU1NDBELFtoYXNoXVx1ODg2OFx1NzkzQVx1OEJFNVx1NjU4N1x1NEVGNlx1NTE4NVx1NUJCOWhhc2hcdTUwM0NcclxuICAgICAgICAvLyBlbnRyeUZpbGVOYW1lczogJ3N0YXRpYy9bbmFtZV0uW2hhc2hdLmpzJywgLy8gXHU3NTI4XHU0RThFXHU1NDdEXHU1NDBEXHU0RUUzXHU3ODAxXHU2MkM2XHU1MjA2XHU2NUY2XHU1MjFCXHU1RUZBXHU3Njg0XHU1MTcxXHU0RUFCXHU1NzU3XHU3Njg0XHU4RjkzXHU1MUZBXHU1NDdEXHU1NDBEXHJcbiAgICAgICAgLy8gLy8gY2h1bmtcdTY1ODdcdTRFRjZcdUZGMENcdTRFMDBcdTgyMkNcdTY2MkZcdTYzMDdqc1x1NjU4N1x1NEVGNlxyXG4gICAgICAgIC8vIGNodW5rRmlsZU5hbWVzOiAnc3RhdGljL2pzL1tuYW1lXS5baGFzaF0uanMnLFxyXG4gICAgICAgIC8vIC8vIFx1OTc1OVx1NjAwMVx1OEQ0NFx1NkU5MChcdThGRDlcdTkxQ0NcdTc2ODRcdTk3NTlcdTYwMDFcdThENDRcdTZFOTBcdTY2MkZcdTYzMDdcdTRFQzBcdTRFNDg/IGpzXHU0RTRCXHU1OTE2XHU3Njg0XHU0RTFDXHU4OTdGXHU5MEZEXHU1QzVFXHU0RThFXHU5NzU5XHU2MDAxXHU4RDQ0XHU2RTkwKVxyXG4gICAgICAgIC8vIGFzc2V0RmlsZU5hbWVzOiAnc3RhdGljL1tleHRdL1tuYW1lXS5baGFzaF0uW2V4dF0nLFxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0Q29uZmlnXHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUE2VCxTQUFvQixlQUErQztBQUNoWSxPQUFPLFNBQVM7QUFDaEIsT0FBTyxVQUFVO0FBQ2pCLFNBQVMsNEJBQTRCO0FBQ3JDLE9BQU8sWUFBWTtBQUNuQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLE9BQU8sZ0JBQWdCO0FBQ3ZCLE9BQU8sZ0JBQWdCO0FBQ3ZCLFNBQVMsMkJBQTJCO0FBQ3BDLE9BQU8sa0JBQWtCO0FBQ3pCLFNBQVMsa0JBQWtCO0FBQzNCLE9BQU8sYUFBYTtBQUNwQixTQUFTLHFCQUFxQjtBQUc5QixTQUFTLG9CQUFvQjtBQWxCN0IsSUFBTSxtQ0FBbUM7QUF3QnpDLFNBQVMsU0FBUyxLQUFhO0FBQzdCLFNBQU8sS0FBSyxRQUFRLGtDQUFXLEdBQUc7QUFDcEM7QUFTQSxTQUFTLGdCQUFnQixLQUFnQztBQUN2RCxTQUFPLFFBQVE7QUFDakI7QUFFQSxJQUFPLHNCQUFRLENBQUMsRUFBRSxTQUFTLEtBQUssTUFBbUM7QUFDakUsUUFBTSxPQUFPLFFBQVEsSUFBSTtBQUV6QixRQUFNLE1BQU0sUUFBUSxNQUFNLElBQUk7QUFDOUIsVUFBUTtBQUFBLElBQ047QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0Y7QUFHQSxRQUFNLGVBQWtELENBQUM7QUFFekQsTUFBSSxnQkFBZ0IsSUFBSSxxQkFBcUIsR0FBRztBQUU5QyxpQkFBYTtBQUFBLE1BQ1gsV0FBVztBQUFBLFFBQ1QsVUFBVTtBQUFBLFFBQ1YsTUFBTTtBQUFBLFFBQ04sVUFBVTtBQUFBLFFBQ1YsWUFBWTtBQUFBLE1BQ2QsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBRUEsTUFBSSxnQkFBZ0IsSUFBSSxvQkFBb0IsR0FBRztBQUM3QyxpQkFBYTtBQUFBLE1BQ1gsYUFBYTtBQUFBLFFBQ1gsT0FBTyxLQUFLLFFBQVEsYUFBYTtBQUFBLFFBQ2pDLGNBQWM7QUFBQSxRQUNkLFNBQVM7QUFBQSxRQUNULFFBQVE7QUFBQSxVQUNOLGNBQWM7QUFBQSxVQUNkLE9BQU87QUFBQSxRQUNUO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDQSxNQUFJLFlBQVksV0FBVyxTQUFTLGVBQWU7QUFDakQsaUJBQWEsS0FBSyxRQUFRLENBQUM7QUFDM0IsaUJBQWE7QUFBQSxNQUNYLGNBQWM7QUFBQSxRQUVaLFVBQVU7QUFBQSxRQUNWLGNBQWM7QUFBQSxNQUNoQixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0YsT0FBTztBQUFBLEVBcURQO0FBQ0EsUUFBTSxlQUFpQztBQUFBLElBQ3JDLFNBQVM7QUFBQSxNQUNQLElBQUk7QUFBQSxNQUNKLE9BQU87QUFBQSxNQUNQLHFCQUFxQjtBQUFBLFFBRW5CLFVBQVUsQ0FBQyxLQUFLLFFBQVEsUUFBUSxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7QUFBQSxRQUV4RCxVQUFVO0FBQUEsTUFDWixDQUFDO0FBQUEsTUFDRCxhQUFhO0FBQUEsUUFDWCxTQUFTO0FBQUEsVUFDUDtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsUUFDRjtBQUFBLFFBQ0EsT0FBTztBQUFBLE1BQ1QsQ0FBQztBQUFBLE1BRUQsd0JBQXdCO0FBQUEsUUFDdEIsVUFBVSxDQUFDLG1CQUFtQixDQUFDO0FBQUEsUUFDL0IsTUFBTTtBQUFBLFVBQ0o7QUFBQSxZQUNFLGFBQWE7QUFBQSxZQUNiLFVBQVU7QUFBQSxZQUNWLGNBQWMsQ0FBQyxTQUFpQjtBQUM5QixxQkFBTyw0QkFBNEI7QUFBQSxZQUNyQztBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBQUEsTUFDRixDQUFDO0FBQUEsTUFDRCxXQUFXO0FBQUEsUUFDVCxXQUFXLENBQUMsb0JBQW9CLENBQUM7QUFBQSxRQUNqQyxLQUFLO0FBQUEsUUFDTCxVQUFVO0FBQUEsVUFDUixTQUFTO0FBQUEsVUFDVCxVQUFVO0FBQUEsVUFDVixrQkFBa0I7QUFBQSxRQUNwQjtBQUFBLE1BQ0YsQ0FBQztBQUFBLE1BQ0QsV0FBVztBQUFBLFFBQ1QsV0FBVyxDQUFDLG9CQUFvQixDQUFDO0FBQUEsUUFDakMsS0FBSztBQUFBLE1BQ1AsQ0FBQztBQUFBLE1BQ0QsR0FBRztBQUFBLElBQ0w7QUFBQSxJQUVBLE1BQU0sSUFBSTtBQUFBLElBQ1YsUUFBUTtBQUFBLE1BQ04sTUFBTTtBQUFBLE1BQ04sTUFBTTtBQUFBLE1BQ04sTUFBTTtBQUFBLElBUVI7QUFBQSxJQUNBLFNBQVM7QUFBQSxNQUNQLE9BQU87QUFBQSxRQUNMLEtBQUssU0FBUyxLQUFLO0FBQUEsTUFDckI7QUFBQSxJQUNGO0FBQUEsSUFDQSxPQUFPO0FBQUEsTUFDTCxRQUFRO0FBQUEsTUFDUixlQUFlLENBNERmO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
